// SPDX-License-Identifier: Apache-2.0
// Copyright (C) 2019 Intel Corporation. All rights reserved
//
// TAP states
`define CNT_DBG_TEST__TEST_LOGIC_RESET           4'b0000
`define CNT_DBG_TEST__RUN_TEST_IDLE              4'b0001
`define CNT_DBG_TEST__SELECT_DR_SCAN             4'b0010
`define CNT_DBG_TEST__CAPTURE_DR                 4'b0011
`define CNT_DBG_TEST__SHIFT_DR                   4'b0100
`define CNT_DBG_TEST__EXIT1_DR                   4'b0101
`define CNT_DBG_TEST__PAUSE_DR                   4'b0110
`define CNT_DBG_TEST__EXIT2_DR                   4'b0111
`define CNT_DBG_TEST__UPDATE_DR                  4'b1000
`define CNT_DBG_TEST__SELECT_IR_SCAN             4'b1001
`define CNT_DBG_TEST__CAPTURE_IR                 4'b1010
`define CNT_DBG_TEST__SHIFT_IR                   4'b1011
`define CNT_DBG_TEST__EXIT1_IR                   4'b1100
`define CNT_DBG_TEST__PAUSE_IR                   4'b1101
`define CNT_DBG_TEST__EXIT2_IR                   4'b1110
`define CNT_DBG_TEST__UPDATE_IR                  4'b1111

// Supported JTAG instruction
`define CNT_DBG_TEST__CNT_ATPG                   7'b000_0001
`define CNT_DBG_TEST__ENABLE_TDO                 7'b000_0010
`define CNT_DBG_TEST__CONFIGURE_ROUTE            7'b000_0011
`define CNT_DBG_TEST__SET_MISSION_MODE_ROUTE     7'b000_0100
`define CNT_DBG_TEST__CLEAR_MISSION_MODE_ROUTE   7'b000_0101
`define CNT_DBG_TEST__LOAD_ID                    7'b000_0110
`define CNT_DBG_TEST__READ_TEST_RESPONSE         7'b000_0111
`define CNT_DBG_TEST__READ_SIGNATURE             7'b000_1000
`define CNT_DBG_TEST__ENABLE_AR_SCAN_ACCESS      7'b000_1001
`define CNT_DBG_TEST__DISABLE_AR_SCAN_ACCESS     7'b000_1010
`define CNT_DBG_TEST__ENABLE_PINMUX              7'b000_1011
`define CNT_DBG_TEST__SHIFT_EN              	 7'b000_1100
`define CNT_DBG_TEST__SHIFT_DIS              	 7'b000_1101
`define CNT_DBG_TEST__TRANSMIT_EN              	 7'b000_1110
`define CNT_DBG_TEST__TRANSMIT_DIS             	 7'b000_1111
`define CNT_DBG_TEST__RESET_EN             	 7'b001_0000
`define CNT_DBG_TEST__RESET_DIS             	 7'b001_0001
`define CNT_DBG_TEST__WEAKPU_EN             	 7'b001_0010
`define CNT_DBG_TEST__WEAKPU_DIS             	 7'b001_0011
`define CNT_DBG_TEST__WEAKPDN_EN             	 7'b001_0100
`define CNT_DBG_TEST__WEAKPDN_DIS             	 7'b001_0101
`define CNT_DBG_TEST__INTEST_EN             	 7'b001_0110
`define CNT_DBG_TEST__INTEST_DIS             	 7'b001_0111
`define CNT_DBG_TEST__JTAG_CLKSEL             	 7'b001_1000
`define CNT_DBG_TEST__ADPT_FASTCLKSEL_EN       	 7'b001_1001
`define CNT_DBG_TEST__ADPT_FASTCLKSEL_DIS      	 7'b001_1010
`define CNT_DBG_TEST__SHIFT_EN_AUXAIB          	 7'b001_1011
`define CNT_DBG_TEST__SHIFT_DIS_AUXAIB         	 7'b001_1100
`define CNT_DBG_TEST__TRANSMIT_EN_AUXAIB       	 7'b001_1101
`define CNT_DBG_TEST__TRANSMIT_DIS_AUXAIB     	 7'b001_1110
`define CNT_DBG_TEST__RESET_EN_AUXAIB      	 7'b001_1111
`define CNT_DBG_TEST__RESET_DIS_AUXAIB      	 7'b010_0000
`define CNT_DBG_TEST__WEAKPU_EN_AUXAIB      	 7'b010_0001
`define CNT_DBG_TEST__WEAKPU_DIS_AUXAIB      	 7'b010_0010
`define CNT_DBG_TEST__WEAKPDN_EN_AUXAIB      	 7'b010_0011
`define CNT_DBG_TEST__WEAKPDN_DIS_AUXAIB      	 7'b010_0100
`define CNT_DBG_TEST__INTEST_EN_AUXAIB      	 7'b010_0101
`define CNT_DBG_TEST__INTEST_DIS_AUXAIB      	 7'b010_0110
`define CNT_DBG_TEST__JTAG_CLKSEL_AUXAIB      	 7'b010_0111
`define CNT_DBG_TEST__ADPT_FASTCLKSEL_AUXAIB_EN	 7'b010_1000
`define CNT_DBG_TEST__ADPT_FASTCLKSEL_AUXAIB_DIS 7'b010_1001
`define CNT_DBG_TEST__TEST_MODE_CTRL             7'b010_1010
`define CNT_DBG_TEST__ENABLE_DFX_BYPASS          7'b010_1011
`define CNT_DBG_TEST__DISABLE_DFX_BYPASS         7'b010_1100
`define CNT_DBG_TEST__ENABLE_DFT_ADPT_RST_CHNL   7'b010_1101
`define CNT_DBG_TEST__DISABLE_DFT_ADPT_RST_CHNL  7'b010_1110
`define CNT_DBG_TEST__ENABLE_DFT_WKPULLUP_3VIO_OVRD     7'b010_1111
`define CNT_DBG_TEST__DISABLE_DFT_WKPULLUP_3VIO_OVRD    7'b011_0000
`define CNT_DBG_TEST__MBIST_EN                   7'b011_0001  
`define CNT_DBG_TEST__OSC_MON_EN                 7'b011_0010  
`define CNT_DBG_TEST__PROCESS_MON_EN_T2_0        7'b011_0011  
`define CNT_DBG_TEST__PROCESS_MON_EN_T2_1        7'b011_0100  
`define CNT_DBG_TEST__PROCESS_MON_EN_T2_2        7'b011_0101  
`define CNT_DBG_TEST__PROCESS_MON_EN_T2_3        7'b011_0110  
`define CNT_DBG_TEST__PROCESS_MON_EN_RO          7'b011_0111  
`define CNT_DBG_TEST__ENABLE_DFT_3VIO_1P8V_OVRD  7'b011_1000  
`define CNT_DBG_TEST__DISABLE_DFT_3VIO_1P8V_OVRD 7'b011_1001  
`define CNT_DBG_TEST__ENABLE_PMAREFCLK           7'b011_1010
`define CNT_DBG_TEST__DISABLE_PMAREFCLK          7'b011_1011
`define CNT_DBG_TEST__ENABLE_AIBIO_ASYNC_OVRD	 7'b011_1100
`define CNT_DBG_TEST__DISABLE_AIBIO_ASYNC_OVRD	 7'b011_1101
`define CNT_DBG_TEST__ENABLE_AUXIO_ASYNC_OVRD	 7'b011_1110
`define CNT_DBG_TEST__ENABLE_AUXOE_ASYNC_OVRD	 7'b011_1111
`define CNT_DBG_TEST__DISABLE_AUX_ASYNC_OVRD	 7'b100_0000
`define CNT_DBG_TEST__ENABLE_TDF_SEL         	 7'b100_0001
`define CNT_DBG_TEST__DISABLE_TDF_SEL   	 7'b100_0010
`define CNT_DBG_TEST__ENABLE_GLOBAL_PIPE_SE    	 7'b100_0011
`define CNT_DBG_TEST__DISABLE_GLOBAL_PIPE_SE   	 7'b100_0100
`define CNT_DBG_TEST__PMAREFFCLK_SEL   	 	 7'b100_0101
`define CNT_DBG_TEST__OSCCLK_SEL   	 	 7'b100_0110
`define CNT_DBG_TEST__CORECLK_SEL   	 	 7'b100_0111
`define CNT_DBG_TEST__RESET_OVRD_EN   	 	 7'b100_1000
`define CNT_DBG_TEST__RESET_OVRD_DIS             7'b100_1001
`define CNT_DBG_TEST__BYPASS			 7'b111_1111

// Test enable magic word
`define CNT_DBG_TEST__TEST_ENABLE_MAGIC_WORD     12'b1011_1001_1001
